package utd.cs6322.cluster.clustering;

import java.util.ArrayList;

import net.sf.javaml.clustering.FarthestFirst;
import net.sf.javaml.clustering.KMeans;
import net.sf.javaml.clustering.KMedoids;
import net.sf.javaml.core.Dataset;
import net.sf.javaml.distance.CosineSimilarity;

import utd.cs6322.cluster.document.Document;

public class ClusteringManager {
	
	private FarthestFirst ff;
	private KMeans km;
	private KMedoids kmd;
	
	private Dataset[] ffResults;
	private Dataset[] kmResults;
	private Dataset[] kmdResults;
	
	public ClusteringManager(int numClusters){
		km = new KMeans(numClusters, 1, new CosineSimilarity());
		ff = new FarthestFirst(numClusters, new CosineSimilarity());
		kmd = new KMedoids(numClusters, 1, new CosineSimilarity());
	}
	
	public void cluster(Dataset data){
		kmResults = km.cluster(data);
		ffResults = ff.cluster(data);
		kmdResults = kmd.cluster(data);
	}
	
}
